package cc.rengu.igas.momp.facade;

import cc.rengu.igas.momp.facade.request.*;
import cc.rengu.igas.momp.facade.response.*;
import cc.rengu.igas.momp.facade.result.Result;

/**
 * @author Jinan Liu
 * @date 2020/3/11 21:53
 * @description 发布营销活动接口
 */
public interface PublishMcService {

    /**
     * 代理商分润类活动发布接口
     *
     * @param publishAgentProfitSharingMcRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.PublishAgentProfitSharingMcResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:02
     */
    Result<PublishAgentProfitSharingMcResponse> publishAgentProfitSharingMc(PublishAgentProfitSharingMcRequest publishAgentProfitSharingMcRequest);

    /**
     * 收银员返现类活动发布接口
     *
     * @param publishCashierCashbackMcRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.PublishCashierCashbackMcResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:02
     */
    Result<PublishCashierCashbackMcResponse> publishCashierCashbackMc(PublishCashierCashbackMcRequest publishCashierCashbackMcRequest);

    /**
     * 卡券类活动发布接口
     *
     * @param publishCouponMcRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.PublishCouponMcResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:02
     */
    Result<PublishCouponMcResponse> publishCouponMc(PublishCouponMcRequest publishCouponMcRequest);

    /**
     * 手续费减免类活动发布接口
     *
     * @param publishMchntFeeDiscountMcRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.PublishMchntFeeDiscountMcResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:02
     */
    Result<PublishMchntFeeDiscountMcResponse> publishMchntFeeDiscountMc(PublishMchntFeeDiscountMcRequest publishMchntFeeDiscountMcRequest);

    /**
     * 减免类活动发布接口
     *
     * @param publishMoneyOffMcRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.PublishMoneyOffMcResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:02
     */
    Result<PublishMoneyOffMcResponse> publishMoneyOffMc(PublishMoneyOffMcRequest publishMoneyOffMcRequest);
}
